package cn.tedu.spring;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

/**
 * 需求：用户通过使用游戏手机（GamePhone）玩5V5游戏
 */
@Component //此注解的作用是要将当前类对应的对象的创建权利和管理权利交给Spring
@Scope("singleton")//Bean的作用域设置为多例，是在你需要使用对象时，Spring才会去创建，不需要的时候是不会创建的
@Lazy //作用是延迟加载，当需要对象的时侯才去创建，不需要时不创建
//@Lazy和@Scope("prototype")不可以同时存在，是冲突的
public class User {//k=user/v=对象的内存地址值
    @Autowired //此注解的作用是：自动装配，Spring框架会自动查找适合的类型的值进行赋值
    //@Qualifier("musicPhone")//Bean ID=Bean Name
    public Phone phone;
    public User(){
        System.out.println("User类的构造方法被调用了");
    }
    public void play5V5(){
        System.out.println("user用户正在使用"+phone+"玩5V5游戏");
    }
}
